/**
 * 拆解值函数
 * @param obj 拆解值对象 {a:{b:{c:100}}}
 * @param keyName 拆解值 ‘a.b.c’
 * @returns 
 */
export default function (obj: object, keyName: string): any {
    // 检测该keyName是不是只有一个 . ,那就意味着所以位置为头部
    if(keyName.indexOf(".") != 0) {
         // 默认该项就是传递进来的值
        let result = obj;   
        // 如果不是只有一个 . ，那就要拆解值
        // 将类似于a.b.c语法拆解成['a','b','c']
        let arr = keyName.split("\.");
        // 利用引用类型一层一层剥离对象
        for (let index = 0; index < arr.length; index++) {
            // 获取该值得键值
            const key = arr[index];
            // 剥离对象
            result = result[key];
        }
        return result;
    }
    // 否则直接默认为a['b']形式
    return obj[keyName];
}